]> dgit.raspbian.org Git - gnome-shell.git/log
gnome-shell.git
7 years agopanel: Ignore shell-shows-app-menu setting
Florian Müllner [Thu, 4 Oct 2018 14:52:34 +0000 (16:52 +0200)]
panel: Ignore shell-shows-app-menu setting

The GtkSettings was originally introduced to inform applications about
the desktop shell's capabilities, but users soon started to use it to
force GTK+ to show the app menu inside the application. We eventually
caved and also handled the setting ourselves to hide the in-shell app
menu to allow users to "move" it.

But now the remote app menu is in the process of being retired[0], and
will be replaced with a simple indicator that cannot be moved, so
stop following the GtkSetting.

[0] https://gitlab.gnome.org/GNOME/Initiatives/wikis/App-Menu-Retirement

https://gitlab.gnome.org/GNOME/gnome-shell/issues/624

7 years agopanel: Remove unused import
Florian Müllner [Thu, 4 Oct 2018 15:08:55 +0000 (17:08 +0200)]
panel: Remove unused import

https://gitlab.gnome.org/GNOME/gnome-shell/issues/624

7 years agoUpdate Japanese translation
Ryuta Fujii [Wed, 6 Feb 2019 14:20:41 +0000 (14:20 +0000)]
Update Japanese translation

7 years agoUpdate Catalan translation
Jordi Mas [Wed, 6 Feb 2019 13:40:51 +0000 (14:40 +0100)]
Update Catalan translation

7 years agoUpdate Japanese translation
Ryuta Fujii [Wed, 6 Feb 2019 12:00:12 +0000 (12:00 +0000)]
Update Japanese translation

7 years agoUpdated Czech translation
Marek Cernocky [Wed, 6 Feb 2019 11:01:59 +0000 (12:01 +0100)]
Updated Czech translation

7 years agoUpdated Spanish translation
Daniel Mustieles [Wed, 6 Feb 2019 10:40:43 +0000 (11:40 +0100)]
Updated Spanish translation

7 years agoUpdate Hungarian translation
Balázs Úr [Tue, 5 Feb 2019 20:06:11 +0000 (20:06 +0000)]
Update Hungarian translation

7 years agoshellActionModes: disable POPUP keybindings in unlock screen
Ray Strode [Wed, 23 Jan 2019 20:59:42 +0000 (15:59 -0500)]
shellActionModes: disable POPUP keybindings in unlock screen

Certain keybindings should continue to work even when a popup
menu is on screen. For instance, the keybinding for showing
the app menu and the keyinding for showing the calendar are
examples.

This is achieved by putting in place a special "POPUP" action
mode, whenever a popup menu is active.  This mode replaces
the (e.g., "NORMAL" or "OVERVIEW") action mode that was in place
for as long as the popup menu is active.

But those keybindings should not work when the user is at the
unlock dialog (which uses an action mode of "UNLOCK").

Unfortunately, since commit c79d24b6 they do.

This commit addresses the problem by forcing the action mode
to NONE at the unlock screen when popups are visible.

CVE-2019-3820

Closes https://gitlab.gnome.org/GNOME/gnome-shell/issues/851

7 years agopanel: Don't allow opening hidden menus via keybindings
Florian Müllner [Wed, 23 Jan 2019 22:55:12 +0000 (23:55 +0100)]
panel: Don't allow opening hidden menus via keybindings

We shouldn't allow toggling menus that aren't supported by the
current session mode, but as indicators are hidden rather than
destroyed on mode switches, it is not enough to check for an
indicator's existence.

https://gitlab.gnome.org/GNOME/gnome-shell/issues/851

7 years agokeyboard: Implement keypad OSK panel
Carlos Garnacho [Sat, 19 Jan 2019 14:58:45 +0000 (15:58 +0100)]
keyboard: Implement keypad OSK panel

This is pretty ad-hoc, the panel is hooked so it shows right away on the
right Clutter.InputContentPurpose.

7 years agokeyboard: Add Emoji keyboard
Carlos Garnacho [Fri, 22 Dec 2017 15:02:51 +0000 (16:02 +0100)]
keyboard: Add Emoji keyboard

This keyboard works similar to GTK+'s emoji chooser (actually, both pull
from the same JSON file). Emojis are categorized in sections and variants
and kept in a "model".

The EmojiPager actor then uses this model to generate pages on-the-fly as
the user swipes around. This is an important optimization since the amount
of actors would rival with the rest of the shell otherwise.

The EmojiSelection object puts the EmojiPager, the page indicators and
a KeyContainer with the bottom row of emoji section shortcuts together to
implement the emoji panel as a whole.

The Keyboard object hooked this to an "emoji" key, which is just visible
on the Clutter.InputContentPurpose where showing an emoji would be
meaningful. Otherwise the surrounding buttons are made a bit wider to
cover up for it (i.e. as it was before).

7 years agoappDisplay: Separate PageIndicators to a separate file
Carlos Garnacho [Tue, 22 Jan 2019 11:10:51 +0000 (12:10 +0100)]
appDisplay: Separate PageIndicators to a separate file

In order to cater for emoji panel usage, we want something like PageIndicators
except:
- It should have horizontal disposition
- It should not be animatable (?)
- It should not be reactive

Separated PageIndicators into a base, non-animated widget, and an
AnimatedPageIndicators that can be used on appDisplay.js. Reactiveness is
set through an extra method, and layout is set as a construct argument.

7 years agokeyboard: Separate aspect ratio control to a container actor
Carlos Garnacho [Mon, 21 Jan 2019 20:39:27 +0000 (21:39 +0100)]
keyboard: Separate aspect ratio control to a container actor

This will be useful as we want other panels (eg. emoji) to preserve aspect
ratio with the rest of the OSK. Separate the aspect ratio management logic
into this container that will be the parent of them all.

7 years agokeyboard: Remove unused code
Carlos Garnacho [Mon, 21 Jan 2019 20:48:53 +0000 (21:48 +0100)]
keyboard: Remove unused code

This signal does not exist, the Suggestions.add() method allows to attach
per-element callbacks instead.

7 years agokeyboard: Fix JS warning
Carlos Garnacho [Mon, 21 Jan 2019 20:41:46 +0000 (21:41 +0100)]
keyboard: Fix JS warning

Iterate correctly through the array, instead of stepping on the possibly
non existent first element.

7 years agokeyboard: Fix JS warning
Carlos Garnacho [Mon, 21 Jan 2019 20:40:59 +0000 (21:40 +0100)]
keyboard: Fix JS warning

The label field may be empty here (eg. buttons fully styled through css),
just resort to an empty string then.

7 years agokeyboard: Fix JS warning
Carlos Garnacho [Mon, 21 Jan 2019 20:40:10 +0000 (21:40 +0100)]
keyboard: Fix JS warning

The solution is pointed out by the warning itself.

7 years agotheme: Reduce minimum OSK key width/height
Carlos Garnacho [Mon, 21 Jan 2019 20:34:27 +0000 (21:34 +0100)]
theme: Reduce minimum OSK key width/height

The OSK panel uses 1/3rd of the monitor height, plus we specify a minimum
size for the keys. This doesn't play along if contents won't fit (short
monitor, big fonts, ...) pushing contents offscreen. Reduce the minimum
size a bit so there's better chances to fit.

Closes: https://gitlab.gnome.org/GNOME/gnome-shell/issues/675
7 years agowindowManager: Disable bottom edge swipe gesture if OSK is enabled
Carlos Garnacho [Mon, 21 Jan 2019 19:49:07 +0000 (20:49 +0100)]
windowManager: Disable bottom edge swipe gesture if OSK is enabled

It does not make sense then, plus it eats events close to the edge.

7 years agokeyboard: Avoid sequence grabs on touch
Carlos Garnacho [Mon, 21 Jan 2019 19:40:31 +0000 (20:40 +0100)]
keyboard: Avoid sequence grabs on touch

We can do without these. Since grabs prevent gestures in parent containers
from happening, we actively don't want these for emoji scrolling/paging.

7 years agost: Honor button mask on touch events
Carlos Garnacho [Mon, 21 Jan 2019 19:36:22 +0000 (20:36 +0100)]
st: Honor button mask on touch events

Even though it's not a "button", we use button1 to map to actions. Seems
fair to refuse to press the StButton if it would not react to button1.

7 years agoUpdate Friulian translation
Fabio Tomat [Tue, 5 Feb 2019 15:00:15 +0000 (15:00 +0000)]
Update Friulian translation

7 years agopanel: Remove panel translucency
Florian Müllner [Wed, 30 Jan 2019 16:48:28 +0000 (17:48 +0100)]
panel: Remove panel translucency

Since commit 447bf55e45b we turn the top bar translucent when
free-floating. While this looks fancy and reduces the appearance
of cutting into the available screen space, it has also had a
negative effect on legibility.

Nobody stepped up to address those issues in two years, so revert
back to the fully opaque top bar.

https://gitlab.gnome.org/GNOME/gnome-shell/issues/408

7 years agotheme: basic color sync
Jakub Steiner [Mon, 14 Jan 2019 21:10:49 +0000 (22:10 +0100)]
theme: basic color sync

- sync colors to the gtk palette

Addresses issue #841

7 years agodateMenu: Refresh world clocks section
Florian Müllner [Thu, 13 Dec 2018 16:44:28 +0000 (17:44 +0100)]
dateMenu: Refresh world clocks section

Update the section styling to accentuate the most relevant information,
and include the timezone.

https://gitlab.gnome.org/GNOME/gnome-shell/issues/262

7 years agodateMenu: Show weather location in section header
Florian Müllner [Fri, 11 Jan 2019 16:42:22 +0000 (17:42 +0100)]
dateMenu: Show weather location in section header

It is useful information, in particular when the location is set
automatically via geoclue.

https://gitlab.gnome.org/GNOME/gnome-shell/issues/262

7 years agodateMenu: Use graphical weather forecasts
Florian Müllner [Thu, 13 Dec 2018 13:45:22 +0000 (14:45 +0100)]
dateMenu: Use graphical weather forecasts

While the current textual forecast is non-intrusive, it may be too
much so, making it less effective to spot the current conditions
at a glance.

Refresh the section to use a more conventional graphical representation,
similar to the one used by gnome-weather itself.

https://gitlab.gnome.org/GNOME/gnome-shell/issues/262

7 years agowindowManager: Add switch-to-application-n keybindings
Florian Müllner [Tue, 29 Jan 2019 10:48:06 +0000 (11:48 +0100)]
windowManager: Add switch-to-application-n keybindings

Having Unity-like shortcuts for activating the first nine applications
in the dash has been a long requested feature, but somehow nobody got
around to implement it.

As the shortcut is most useful outside the overview where the dash is
not visible, only consider favorite apps as they have a predictable
order.

https://bugzilla.gnome.org/show_bug.cgi?id=648000

7 years agocleanup: Remove erroneous vfunc parameters
Florian Müllner [Thu, 31 Jan 2019 21:07:38 +0000 (22:07 +0100)]
cleanup: Remove erroneous vfunc parameters

Unlike in C or signal handlers, vfuncs don't include the this-object
in their arguments.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/388

7 years agoDon't mistake GObject.registerClass() for a constructor
Florian Müllner [Thu, 31 Jan 2019 19:38:24 +0000 (20:38 +0100)]
Don't mistake GObject.registerClass() for a constructor

Those slipped through when porting from Lang.Class to ES6 classes.

Very indirectly spotted by eslint.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/388

7 years agoscreenshot: Remove bogus parameter
Florian Müllner [Mon, 4 Feb 2019 10:58:00 +0000 (11:58 +0100)]
screenshot: Remove bogus parameter

Expecting a callback argument over D-Bus doesn't make any sense at
all, whoops.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/388

7 years agoobjectManager: Fix index mix-up
Florian Müllner [Thu, 31 Jan 2019 13:15:58 +0000 (14:15 +0100)]
objectManager: Fix index mix-up

Spotted by eslint.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/388

7 years agoapp: Remove unused code
Florian Müllner [Mon, 4 Feb 2019 23:20:45 +0000 (00:20 +0100)]
app: Remove unused code

This was overlooked back in the day when application search moved into GIO.

7 years agothunderbolt: ensure failure msg is translatable
Christian Kellner [Mon, 4 Feb 2019 15:14:16 +0000 (16:14 +0100)]
thunderbolt: ensure failure msg is translatable

Swap the gettext() and format() calls to ensure that the message
is translatable.

7 years agost: Init icon theme in StSettings
Carlos Garnacho [Mon, 4 Feb 2019 11:12:10 +0000 (12:12 +0100)]
st: Init icon theme in StSettings

This was not initialized, leaving a default icon theme unless
changed later.

Closes: https://gitlab.gnome.org/GNOME/gnome-shell/issues/953
7 years agoUpdate Friulian translation
Fabio Tomat [Mon, 4 Feb 2019 15:57:07 +0000 (15:57 +0000)]
Update Friulian translation

7 years agoUpdate Hungarian translation
Balázs Úr [Sun, 3 Feb 2019 17:10:51 +0000 (17:10 +0000)]
Update Hungarian translation

7 years agoUpdate Polish translation
Piotr Drąg [Sun, 3 Feb 2019 16:30:15 +0000 (17:30 +0100)]
Update Polish translation

7 years agoextensionPrefs: Work around xgettext bug
Florian Müllner [Fri, 1 Feb 2019 19:11:39 +0000 (20:11 +0100)]
extensionPrefs: Work around xgettext bug

xgettext is thrown off by the combination of backticks and slashes,
which makes template string a fun trap to fall into. Just use
String.format() for now ...

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/383

7 years agoUpdated Lithuanian translation
Aurimas Černius [Sun, 3 Feb 2019 14:52:13 +0000 (16:52 +0200)]
Updated Lithuanian translation

7 years agoUpdate Hungarian translation
Balázs Úr [Sun, 3 Feb 2019 14:29:17 +0000 (14:29 +0000)]
Update Hungarian translation

7 years agoFix Catalan date formatter
Jordi Mas [Sat, 2 Feb 2019 18:42:36 +0000 (19:42 +0100)]
Fix Catalan date formatter

7 years agoUpdate Friulian translation
Fabio Tomat [Sat, 2 Feb 2019 10:19:36 +0000 (10:19 +0000)]
Update Friulian translation

7 years agoUpdate Catalan translation
Jordi Mas [Sat, 2 Feb 2019 10:13:35 +0000 (11:13 +0100)]
Update Catalan translation

7 years agoUpdate Hungarian translation
Balázs Úr [Sat, 2 Feb 2019 07:55:58 +0000 (07:55 +0000)]
Update Hungarian translation

7 years agoworkspace: Update a wrong comment
verdre [Wed, 30 Jan 2019 20:00:56 +0000 (21:00 +0100)]
workspace: Update a wrong comment

We showed the app icon there back then, nowadays it's a close button and
the title of the window.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/346

7 years agoworkspace: Use ES6 findIndex() method for getting window index
verdre [Mon, 19 Nov 2018 11:28:29 +0000 (12:28 +0100)]
workspace: Use ES6 findIndex() method for getting window index

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/346

7 years agoworkspace: Rename show-close-button signal to chrome-visible
verdre [Mon, 19 Nov 2018 11:28:28 +0000 (12:28 +0100)]
workspace: Rename show-close-button signal to chrome-visible

Since we no longer only show the close button but the whole window
chrome on hover, change the name of the signal.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/346

7 years agoworkspace: Some style changes to match guidelines
verdre [Mon, 19 Nov 2018 11:28:28 +0000 (12:28 +0100)]
workspace: Some style changes to match guidelines

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/346

7 years agoworkspace: Remove some unnecessary variables and functions
verdre [Mon, 19 Nov 2018 11:28:28 +0000 (12:28 +0100)]
workspace: Remove some unnecessary variables and functions

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/346

7 years agoworkspace: Rename some variables for clarity
verdre [Wed, 30 Jan 2019 19:54:44 +0000 (20:54 +0100)]
workspace: Rename some variables for clarity

Since the overlays we show on hover above the window clones are no
longer only a close button, but the window title, a border and a close
button, rename a few variables so it's easier to understand what they're
for.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/346

7 years agoworkspace: Use globals for delays and animation times
verdre [Mon, 19 Nov 2018 11:28:28 +0000 (12:28 +0100)]
workspace: Use globals for delays and animation times

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/346

7 years agoweather: Change Weather app ID
Christopher Davis [Thu, 31 Jan 2019 15:39:50 +0000 (10:39 -0500)]
weather: Change Weather app ID

As of https://gitlab.gnome.org/GNOME/gnome-weather/commit/9f7f5a68d47c5aaa0d18453f51c92a629c88ed78 Weather uses
org.gnome.Weather everywhere instead of org.gnome.Weather.Application.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/379

7 years agomagnifier: Add missing import
Florian Müllner [Thu, 31 Jan 2019 13:05:44 +0000 (14:05 +0100)]
magnifier: Add missing import

This was missing from commit a7bb8ee6398.

7 years agoa11y: Don't set WM theme
Florian Müllner [Wed, 30 Jan 2019 22:00:35 +0000 (23:00 +0100)]
a11y: Don't set WM theme

We've been using GTK to draw server-side decorations according to the
GTK theme for a long time, so no need to configure the HighContrast
theme for a setting we don't use.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/377

7 years agoextensionPrefs: Improve error UI
Florian Müllner [Mon, 6 Aug 2018 02:15:12 +0000 (04:15 +0200)]
extensionPrefs: Improve error UI

Currently when a preference widget fails to load, we throw a raw
backtrace at the user. While that is undoubtedly useful information
for extension developers and bug reports, it is gibberish to most
users and hardly the first thing they should be exposed to.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/193

7 years agoextensionPrefs: Add blank state
Florian Müllner [Mon, 6 Aug 2018 00:31:18 +0000 (02:31 +0200)]
extensionPrefs: Add blank state

We currently show a big white window in case no extensions are
installed, which clearly isn't helpful. Add a small blank state
that explains what's going on.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/193

7 years agost: Use StSettings for primary-paste setting
Carlos Garnacho [Wed, 30 Jan 2019 18:56:18 +0000 (19:56 +0100)]
st: Use StSettings for primary-paste setting

If middle-click happens, check whether the setting is enabled
and paste primary selection if so.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/317

7 years agost: Use StSettings for enable-animations check
Carlos Garnacho [Wed, 30 Jan 2019 18:48:28 +0000 (19:48 +0100)]
st: Use StSettings for enable-animations check

Keep a statically allocated one so all widgets will use a single
object.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/317

7 years agost-texture-cache: Use GtkIconTheme separate from GTK+
Carlos Garnacho [Tue, 27 Nov 2018 21:07:25 +0000 (22:07 +0100)]
st-texture-cache: Use GtkIconTheme separate from GTK+

Using the default icon theme just has automatic theme updates as an added
value. We can do that ourselves, and stop relying on XSettings internally.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/317

7 years agomain: Use StSettings instead of GtkSettings
Carlos Garnacho [Tue, 27 Nov 2018 13:59:09 +0000 (14:59 +0100)]
main: Use StSettings instead of GtkSettings

Cut a middle man by listening to dconf settings directly, and stop relying
on XSettings for it.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/317

7 years agotweener: Use StSettings instead of GtkSettings
Carlos Garnacho [Tue, 27 Nov 2018 13:52:06 +0000 (14:52 +0100)]
tweener: Use StSettings instead of GtkSettings

Cut a middle man by listening to dconf settings directly, and stop relying
on XSettings for it.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/317

7 years agodnd: Use StSettings instead of GtkSettings
Carlos Garnacho [Tue, 27 Nov 2018 13:42:43 +0000 (14:42 +0100)]
dnd: Use StSettings instead of GtkSettings

Cut a middle man by listening to dconf settings directly, and stop relying
on XSettings for it.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/317

7 years agost: Add StSettings object
Carlos Garnacho [Wed, 30 Jan 2019 20:33:33 +0000 (21:33 +0100)]
st: Add StSettings object

This is a GtkSettings lookalike, so the shell can fetch the relevant
settings.

7 years agost: Add StDirectionType enum
Carlos Garnacho [Tue, 27 Nov 2018 12:58:25 +0000 (13:58 +0100)]
st: Add StDirectionType enum

In order to replace GTK+'s GtkDirectionType. It's bit-compatible with it,
too. All callers have been updated to use it.

This is a purely accessory change in terms of X11 Display usage cleanup,
but helps see better what is left.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/317

7 years agost: Add StPolicyType enum
Carlos Garnacho [Tue, 27 Nov 2018 12:45:36 +0000 (13:45 +0100)]
st: Add StPolicyType enum

In order to replace GTK+'s GtkPolicyType. It's bit-compatible with it, too.
All callers have been updated to use it.

This is a purely accessory change in terms of X11 Display usage cleanup,
but helps see better what is left.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/317

7 years agoenvironment: No need to set Gdk version
Carlos Garnacho [Tue, 27 Nov 2018 12:36:55 +0000 (13:36 +0100)]
environment: No need to set Gdk version

The Gdk module is no longer used.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/317

7 years agooverview: Do not warp pointer to fake crossing event
Carlos Garnacho [Tue, 27 Nov 2018 12:36:26 +0000 (13:36 +0100)]
overview: Do not warp pointer to fake crossing event

This is actually papering over bugs in toolkits. On X11 the Xserver will
send crossing events when the stage input shape changes. As those go
end up ignored in GTK+, this warp call aims (and randomly manages) to send
a motion event that wouldn't go unlistened by the drag source window (the
one holding the grab).

This bug actually manifests in other ways, eg. by changing the window
beneath the pointer with alt-tab while DnDing. This should be fixed
altogether in the client side.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/317

7 years agomodalDialog: Do not sync display here
Carlos Garnacho [Tue, 27 Nov 2018 12:35:46 +0000 (13:35 +0100)]
modalDialog: Do not sync display here

This gdk_display_sync() call was added in commit a40daa3c22 so the alt-f2
dialog is able to spawn commands that trigger grabs on startup (eg. xmag/
xkill).

This seems worthwhile to do only on the X11 backend, and handling it in
mutter backend code seems cleaner.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/317

7 years agoshell: Drop some unused headers and Gdk variables
Carlos Garnacho [Tue, 27 Nov 2018 12:34:22 +0000 (13:34 +0100)]
shell: Drop some unused headers and Gdk variables

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/317

7 years agojs: Drop unused Gdk/Gtk imports
Carlos Garnacho [Mon, 26 Nov 2018 12:42:18 +0000 (13:42 +0100)]
js: Drop unused Gdk/Gtk imports

There's nothing from those modules used in those JS files.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/317

7 years agokeyboard: Drop GDK API usage
Carlos Garnacho [Mon, 26 Nov 2018 12:39:57 +0000 (13:39 +0100)]
keyboard: Drop GDK API usage

Use the misnamed but equivalent Clutter function.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/317

7 years agoutil: Use (thread-safe) uselocale()
Florian Müllner [Tue, 11 Sep 2018 01:17:20 +0000 (03:17 +0200)]
util: Use (thread-safe) uselocale()

Our helper method to translate a string according to the LC_TIME
setting uses the no-thread-safe setlocale(). While that's not an
issue in practice given that all JS code shares a single thread,
I was pointed to a better alternative when adopting the same
handling in gnome-desktop's wallclock[0].

[0] https://gitlab.gnome.org/GNOME/gnome-desktop/merge_requests/17

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/292

7 years agoscreenShield: Show detailed notification data if notifications hint it
Philip Withnall [Thu, 1 Nov 2018 20:56:25 +0000 (20:56 +0000)]
screenShield: Show detailed notification data if notifications hint it

Allow notifications to set a x-gnome-privacy-scope hint, with values in
['system', 'user']. If all the notifications in a particular source hint
that their privacy scope is ‘system’, don’t hide the notification
details on the lock screen.

This is aimed at fixing the particular case of power notifications: they
contain information which is not private to the user (it relates to the
system: battery state or AC state, which is obvious to anyone who can
see the machine), so hiding the details of a power management
notification when the screen is locked is pointless.

Signed-off-by: Philip Withnall <withnall@endlessm.com>
https://gitlab.gnome.org/GNOME/gnome-shell/issues/726

7 years agoiconGrid: Remove unreachable code
Florian Müllner [Tue, 29 Jan 2019 22:00:46 +0000 (23:00 +0100)]
iconGrid: Remove unreachable code

Throwing an exception already aborts a function, so there's no need
for a return statement in that case.

Spotted by eslint.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/375

7 years agokeyboard: Fix undefined variable in fall-through message
Florian Müllner [Tue, 29 Jan 2019 21:58:40 +0000 (22:58 +0100)]
keyboard: Fix undefined variable in fall-through message

Spotted by eslint.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/375

7 years agokeyboard: Add back constructor parameter
Florian Müllner [Tue, 29 Jan 2019 23:19:52 +0000 (00:19 +0100)]
keyboard: Add back constructor parameter

This was accidentally dropped in commit bacfdbbb03.

Spotted by eslint.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/375

7 years agoibusCandidatePopup: Clarify assignment in condition
Florian Müllner [Tue, 29 Jan 2019 21:56:03 +0000 (22:56 +0100)]
ibusCandidatePopup: Clarify assignment in condition

Most often it is a bug if the condition part of a for-loop contains the
assignment operator rather than the comparison one, so tools rightfully
emit a warning.

Clarify that the assignment is intentional in this case by adding
parentheses.

Spotted by eslint.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/375

7 years agoobjectManager: Fix undefined variable
Florian Müllner [Tue, 29 Jan 2019 22:55:05 +0000 (23:55 +0100)]
objectManager: Fix undefined variable

Spotted by eslint.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/375

7 years agoiconGrid: Fix nonsense condition
Florian Müllner [Tue, 29 Jan 2019 21:43:41 +0000 (22:43 +0100)]
iconGrid: Fix nonsense condition

Just like the "in" operator in the previous patch, "instanceof" has
a lower precedence than negation, resulting in the nonsense condition
of "true instanceof BaseIcon".

Add parentheses to get the intended behavior.

Spotted by eslint.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/375

7 years agoappFavorites: Fix nonsense condition
Florian Müllner [Tue, 29 Jan 2019 21:43:41 +0000 (22:43 +0100)]
appFavorites: Fix nonsense condition

The "in" operator has a lower precedence than negation, so we are
actually testing whether the favorites map contains "false".

Add parentheses to get the intended behavior.

Spotted by eslint.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/375

7 years agonetworkAgent: Fix mobile broadband notifications
Florian Müllner [Tue, 29 Jan 2019 21:53:55 +0000 (22:53 +0100)]
networkAgent: Fix mobile broadband notifications

Currently their body message is assigned to an undefined variable
that isn't used for anything later.

Spotted by eslint.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/375

7 years agonetworkAgent: Fix showing the WPS message
Florian Müllner [Tue, 29 Jan 2019 21:48:06 +0000 (22:48 +0100)]
networkAgent: Fix showing the WPS message

The message was introduced in commit dfa0750ffdbd, but added to a
non-existent container, whoops.

Spotted by eslint.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/375

7 years agoshell-global: Use MetaLaunchContext instead of GdkLaunchContext
Carlos Garnacho [Thu, 13 Dec 2018 19:42:41 +0000 (20:42 +0100)]
shell-global: Use MetaLaunchContext instead of GdkLaunchContext

Is functionally the same, without requiring the MetaX11Display.

7 years agoworkspaceThumbnail: Clean up porthole/workarea setting and updating
verdre [Fri, 11 Jan 2019 22:50:09 +0000 (23:50 +0100)]
workspaceThumbnail: Clean up porthole/workarea setting and updating

Instead of unnecessarily updating the porthole on every call to the
layout vfuncs and returning widths and heights of 0 when the overview is
hidden, only update it on actual workarea changes.

Also use the stage size for the porthole in case no monitor is available
to make sure we don't try to allocate a 0-sized box.

Fixes https://gitlab.gnome.org/GNOME/gnome-shell/issues/892, https://gitlab.gnome.org/GNOME/gnome-shell/issues/517

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/343

7 years agooverview: Remove unneeded check if primary monitor exists
verdre [Tue, 29 Jan 2019 23:17:20 +0000 (00:17 +0100)]
overview: Remove unneeded check if primary monitor exists

This check is no longer needed because we're using the stage size
instead of the monitor size here.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/374

7 years agoapp: Replace ClutterTexture by ClutterActor
Georges Basile Stavracas Neto [Tue, 29 Jan 2019 19:02:52 +0000 (17:02 -0200)]
app: Replace ClutterTexture by ClutterActor

It apparently uses no ClutterTexture specifics, and instead
only tries to match what StTextureCache used to return.

Since StTextureCache now returns ClutterActor, also use a
ClutterActor on ShellApp.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/373

7 years agotexture-cache: Fix documentation error
Georges Basile Stavracas Neto [Tue, 29 Jan 2019 14:26:15 +0000 (12:26 -0200)]
texture-cache: Fix documentation error

It now returns a ClutterActor, not a ClutterTexture.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/371

7 years agost: Check for ClutterImage when creating shadow pipelines
Georges Basile Stavracas Neto [Tue, 29 Jan 2019 14:22:26 +0000 (12:22 -0200)]
st: Check for ClutterImage when creating shadow pipelines

_st_create_shadow_pipeline_from_actor creates shadow pipelines
from actors. This function special-cases ClutterTexture as a
small performance improvement, since we can have access to the
CoglTexture easily with it. However, recent commits removed all
usage of ClutterTexture from GNOME Shell, rendering this optimization
useless. Instead, actors now may have a ClutterImage set as
their content, that can be used instead.

Replace the check for ClutterTexture with a check for ClutterImage,
and use the texture of the image when it is available.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/371

7 years agomagnifier: Use a ClutterContent to render mouse sprite
Georges Basile Stavracas Neto [Tue, 29 Jan 2019 13:46:33 +0000 (11:46 -0200)]
magnifier: Use a ClutterContent to render mouse sprite

The Magnifier class uses a small subtree of actors to track the
current cursor's position and sprite. Specifically, it uses the
deprecated ClutterTexture to paint the cursor sprites.

Add a new, very simple ClutterContent implementation to track the
cursor sprite, and replace the ClutterTexture by a ClutterActor.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/371

7 years agomessageTray: Disconnect signals when resetting notification
Florian Müllner [Tue, 29 Jan 2019 14:30:40 +0000 (15:30 +0100)]
messageTray: Disconnect signals when resetting notification

Just like we did for the parent class in commit b57832716a, we should
disconnect any notification signals when the notification is reset
to null to avoid warnings later.

https://gitlab.gnome.org/GNOME/gnome-shell/issues/942

7 years agost: Use ClutterKeymap to detect caps lock state changes
Carlos Garnacho [Thu, 10 Jan 2019 22:19:17 +0000 (23:19 +0100)]
st: Use ClutterKeymap to detect caps lock state changes

This drops usage of Gtk/X11, replacing it with code that is dependent
of the Clutter backend in use. Another positive side effect is that
the keymap state will now be correct on wayland, since there were no
guarantees that X11 key state would reflect the current reality.

https://bugzilla.gnome.org/show_bug.cgi?id=762881

7 years agoci: Add minimal continuous integration
Florian Müllner [Mon, 28 Jan 2019 02:34:48 +0000 (03:34 +0100)]
ci: Add minimal continuous integration

Building gnome-shell is tricky due to the tight coupling with mutter,
but until we figure out the best way forward, we can at least perform
some basic syntax checking on the javascript bits.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/367

7 years agoperf: Stop using legacy generator functions
Florian Müllner [Mon, 28 Jan 2019 01:57:00 +0000 (02:57 +0100)]
perf: Stop using legacy generator functions

This was a non-standard Mozilla extension that is no longer supported.
Simply switch to the standardized generator syntax to fix.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/367

7 years agoshell-global: Make saving of persistent state asynchronous
Carlos Garnacho [Mon, 3 Dec 2018 12:09:47 +0000 (13:09 +0100)]
shell-global: Make saving of persistent state asynchronous

This is an expensive operation that is best avoided in the main loop. Given
the call doesn't care much about returning error or status, it can just
be made async within.

Every operation on a given file will be destructive wrt previous
operations on the same file, so we just cancel any pending operation on
it before batching the current one.

Closes: https://gitlab.gnome.org/GNOME/gnome-shell/issues/815
7 years agost-shadow: Add a CoglFramebuffer argument
Georges Basile Stavracas Neto [Tue, 9 Oct 2018 01:33:19 +0000 (22:33 -0300)]
st-shadow: Add a CoglFramebuffer argument

The last patch in the series, this one adapts StShadowHelper
to received a CoglFramebuffer. This is where we first touch
JavaScript with Cogl types, and as such, it depends on the
latest Mutter. Earlier versions of Mutter didn't have its
Mutter-Clutter GIR to generate types for various Cogl types.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/283

7 years agost-private: Receive a CoglFramebuffer
Georges Basile Stavracas Neto [Sat, 6 Oct 2018 01:38:11 +0000 (22:38 -0300)]
st-private: Receive a CoglFramebuffer

Same case of the previous patch; _st_paint_shadow_with_opacity()
uses cogl_get_draw_framebuffer(), and this patch makes it receive
a CoglFramebuffer as a parameter instead.

The cautious reader might notice that this commit apparently goes
against the long-term goal, for it introduces more instances of
cogl_get_draw_framebuffer(). This is not wrong, but these introduced
ones will be removed later on, when ClutterActor.paint() receives
a CoglFramebuffer as a parameter instead.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/283

7 years agotheme-node-transition: Receive a CoglFramebuffer
Georges Basile Stavracas Neto [Sat, 6 Oct 2018 01:28:10 +0000 (22:28 -0300)]
theme-node-transition: Receive a CoglFramebuffer

This is in preparation for a future where only explicit frambuffer
APIs are available, i.e., cogl_get_draw_framebuffer() does not
exist.

There is absolutely no functional changes in this patch (nor the
following ones in this series), only rearrangements so that various
functions receive a CoglFramebuffer instead of using the draw
framebuffer.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/283

7 years agoUpdated Spanish translation
Daniel Mustieles [Mon, 28 Jan 2019 12:08:55 +0000 (13:08 +0100)]
Updated Spanish translation